﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using QuanLySim.BLO;

namespace QuanLySim
{
    public partial class frmQuanLySim : Form
    {
        #region "variable"
        private clsSimBLO m_SimBlo;
        private clsQuanLyBLO m_QuanLyBlo;
        private clsMangBLO m_MangBlo;
        private clsTenGoiBLO m_TenGoiBlo;
        private int iDem = 0;
        private Random random;
        private string m_strTenDangNhap;
        #endregion

        #region "phuong thuc khoi tao"
        public frmQuanLySim()
        {
            InitializeComponent();
            m_SimBlo = new clsSimBLO();
            m_QuanLyBlo = new clsQuanLyBLO();
            m_MangBlo = new clsMangBLO();
            m_TenGoiBlo = new clsTenGoiBLO();
        }

        public frmQuanLySim(string strTenDangNhap)
        {
            InitializeComponent();
            m_SimBlo = new clsSimBLO();
            m_QuanLyBlo = new clsQuanLyBLO();
            m_MangBlo = new clsMangBLO();
            m_strTenDangNhap = strTenDangNhap;
        }
        #endregion

        #region "Phuong thuc Refresh"
        private void Refresh_QuanLy()
        {
            this.txtTenDangNhap.Text = "";
            this.txtHoTen.Text = "";
            this.rbtnNam.Checked = true;
        }

        private void Refresh_Mang()
        {
            this.txtTenMang.Text = "";
            this.txtDauSo.Text = "";
            this.txtMoTa.Text = "";
        }

        private void Refrech_Sim()
        {
            this.txtSoDienThoai.Text = "";
            this.txtGia.Text = "";
        }
        #endregion

        #region "phuong thuc ho tro"

        private string DauSo(string strSoDienThoai)
        {
            string strSoThu2 = strSoDienThoai.Substring(1, 1);
            if (int.Parse(strSoThu2) == 9)//so dt 10 so
            {
                return strSoDienThoai.Substring(0, 3);//tra ve 3 so dau
            }
            else//so dt thoai 11 so
            {
                return strSoDienThoai.Substring(0, 4);//tra ve 4 so dau
            }
        }

        private string Ngay()
        {
            DateTime Date = new DateTime();
            Date = DateTime.Now;
            string strDate = Date.Date.ToString() + Date.Month.ToString() + Date.Year.ToString();
            return strDate.Substring(0, 10);
        }

        private string MatKhauTuDong()
        {
            random = new Random();
            int iMatKhau = random.Next() / 10000;
            return iMatKhau.ToString();
        }

        private string GioiTinh()
        {
            if (rbtnNam.Checked == true)
            {
                return "Nam";
            }
            return "Nu";
        }

        private string LoaiSim(string strDauSo)
        {
            string s = strDauSo.Substring(1, 1);
            if (s == "9")
            {
                return "10 Số";
            }
            else
            {
                return "11 Số";
            }
        }

        private void CbxTenMang()
        {
            DataTable Table = new DataTable();
            Table = m_MangBlo.LoaiMang();
            if (Table != null)
            {
                //this.cbxTenMang.Text = Table.Rows[0][0].ToString();
                this.cbxTenMang.Items.Add("(None)");
                foreach (DataRow row in Table.Rows)
                {
                    this.cbxTenMang.Items.Add(row[0].ToString());
                }
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_MangBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void CbxTenGoi()
        {
            DataTable Table = new DataTable();
            Table = m_SimBlo.TenGoi();
            if (Table != null)
            {
                //this.cbxTenGoi.Text = Table.Rows[0][0].ToString();
                this.cbxTenGoi.Items.Add("(None)");
                foreach (DataRow row in Table.Rows)
                {
                    this.cbxTenGoi.Items.Add(row[0].ToString());
                }
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_SimBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private int MaTen(string strTenGoi)
        {
            DataTable Table = new DataTable();
            Table = m_SimBlo.MaTen(strTenGoi);
            if (Table != null)
            {
                return int.Parse(Table.Rows[0][0].ToString());
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_SimBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return 0;
            }
        }

        private void DataGridViewTenMang()
        {
            DataTable Table = new DataTable();
            m_MangBlo = new clsMangBLO();
            Table = m_MangBlo.LoaiMang();
            if (Table != null)
            {
                this.dtgvTenMang.DataSource = Table;
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_MangBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void  DataGridViewQuanLy()
        {
            DataTable Table = new DataTable();
            m_MangBlo = new clsMangBLO();
            Table = m_QuanLyBlo.QuanLy();
            if (Table != null)
            {
                this.dtgvQuanLy.DataSource = Table;
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_QuanLyBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private int DataGridViewSim()
        {
            int iDem = 0;
            DataTable Table = new DataTable();
            m_SimBlo = new clsSimBLO();
            Table = m_SimBlo.Sim();
            if (Table != null)
            {
                this.dtgvDanhSachSim.DataSource = Table;
                iDem = Table.Rows.Count;
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_SimBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            return iDem;
        }

        private void DataGridViewTimSim()
        {
            DataTable Table = new DataTable();
            Table = m_SimBlo.TimSim();
            if (Table != null)
            {
                this.dtgvDanhSachSim.DataSource = Table;
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_SimBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void DataGridViewDauSo(string strTenMang)
        {
            DataTable Table = new DataTable();
            m_MangBlo = new clsMangBLO();
            m_MangBlo.MANGDTO.TENMANG = strTenMang;
            Table = m_MangBlo.DauSo();
            if (Table != null)
            {
                this.dtgvDauSo.DataSource = Table;
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_MangBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void ListBoxTenGoi()
        {
            DataTable Table = new DataTable();
            Table = m_SimBlo.TenGoi();
            if (Table != null)
            {
                this.lbxTenGoi.Items.Clear();
                foreach (DataRow row in Table.Rows)
                {
                    this.lbxTenGoi.Items.Add(row[0].ToString());
                }
            }
            else
            {
                MessageBox.Show("Lỗi: " + m_SimBlo.ERORR, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        #endregion
       
        private void frmQuanLySim_Load(object sender, EventArgs e)
        {
            if (this.cbxTenMang.Items.Count == 0)
            { 
                CbxTenMang(); 
            }
            if (this.cbxTenGoi.Items.Count == 0)
            {
                CbxTenGoi();
            }
            DataGridViewTenMang();
            DataGridViewRow dtRow = this.dtgvTenMang.Rows[0];
            DataGridViewDauSo(dtRow.Cells[0].Value.ToString());
            DataGridViewQuanLy();
            int iSoLuong = DataGridViewSim();
            this.lblSoLuongSim.Text += iSoLuong.ToString();
            ListBoxTenGoi();
        }

        #region "su kien button"
        //Phan danh Dang ky
        private void btnThemQL_Click(object sender, EventArgs e)
        {
            if (this.txtTenDangNhap.Text == "" || this.txtHoTen.Text == "")
            {
                MessageBox.Show("Tên đăng nhập và họ tên không để rỗng !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            m_QuanLyBlo = new clsQuanLyBLO();
            m_QuanLyBlo.QUANLYDTO.TENDANGNHAP = this.txtTenDangNhap.Text;
            m_QuanLyBlo.QUANLYDTO.HOTENQL = this.txtHoTen.Text;
            m_QuanLyBlo.QUANLYDTO.GIOITINH = GioiTinh();
            string strMatKhau = MatKhauTuDong();
            m_QuanLyBlo.QUANLYDTO.MATKHAU = strMatKhau;
            if (m_QuanLyBlo.Insert())
            {
                this.txtMatKhau.Text = strMatKhau;
                MessageBox.Show("Bạn phải nhớ mật khẩu mới được cung cấp ở trên để đăng nhập...", "Lưu ý", MessageBoxButtons.OK, MessageBoxIcon.Information);
                DataGridViewQuanLy();
                Refresh_QuanLy();
            }
            else
            {
                MessageBox.Show("Thêm chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void btnXoaQL_Click(object sender, EventArgs e)
        {
            m_QuanLyBlo = new clsQuanLyBLO();
            m_QuanLyBlo.QUANLYDTO.TENDANGNHAP = this.txtTenDangNhap.Text;
           
            if(DialogResult.Yes == MessageBox.Show("Có chắc muốn xoá !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (m_QuanLyBlo.Delete())
                {
                    MessageBox.Show("1 dòng đã bị xoá !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    DataGridViewQuanLy();
                    Refresh_QuanLy();
                    this.txtMatKhau.Text = "";
                }
                else
                {
                    MessageBox.Show("Xoá chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }

        private void btnSuaQL_Click(object sender, EventArgs e)
        {
            m_QuanLyBlo = new clsQuanLyBLO();
            m_QuanLyBlo.QUANLYDTO.TENDANGNHAP = this.txtTenDangNhap.Text;
            m_QuanLyBlo.QUANLYDTO.HOTENQL = this.txtHoTen.Text;

            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn sửa !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (m_QuanLyBlo.Update())
                {
                    MessageBox.Show("1 dòng đã được sửa !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    DataGridViewQuanLy();
                    Refresh_QuanLy();
                    this.txtMatKhau.Text = "";
                }
                else
                {
                    MessageBox.Show("Sửa chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }

        //Phan cau hinh Mang
        private void btnThemMang_Click(object sender, EventArgs e)
        {
            if (this.txtTenMang.Text == "" || this.txtDauSo.Text == "")
            {
                MessageBox.Show("Tên mạng và đầu số không để rỗng !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            m_MangBlo.MANGDTO.TENMANG = this.txtTenMang.Text;
            for(int i = 0; i < this.cbxTenMang.Items.Count; i++)
            {
                if(this.txtTenMang.Text == this.cbxTenMang.Items[i].ToString())
                {
                    m_MangBlo.MANGDTO.BMANGMOI = false;
                }
            }

            m_MangBlo.MANGDTO.MOTA = this.txtMoTa.Text;
            m_MangBlo.MANGDTO.DAUSO = this.txtDauSo.Text;
            m_MangBlo.MANGDTO.LOAISIM = LoaiSim(this.txtDauSo.Text);
            
            if (m_MangBlo.Insert())
            {
                MessageBox.Show("Thêm thành công !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Thêm chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            DataGridViewTenMang();
            DataGridViewDauSo(this.txtTenMang.Text);
            Refresh_Mang();
        }

        private void btnXoaMang_Click(object sender, EventArgs e)
        {
            m_MangBlo = new clsMangBLO();
            m_MangBlo.MANGDTO.TENMANG = this.txtTenMang.Text;
            m_MangBlo.MANGDTO.DAUSO = this.txtDauSo.Text;

            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn xoá !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (this.txtDauSo.Text == "")
                {
                    if (m_MangBlo.DeleteMang())
                    {
                        MessageBox.Show("1 dòng đã bị xoá !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        DataGridViewTenMang();
                        DataGridViewRow dtRow = this.dtgvTenMang.Rows[0];
                        DataGridViewDauSo(dtRow.Cells[0].Value.ToString());
                        Refresh_Mang();
                    }
                    else
                    {
                        MessageBox.Show("Xoá chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    if (m_MangBlo.DeleteDauSo())
                    {
                        MessageBox.Show("1 dòng đã bị xoá !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        DataGridViewRow dtRow = this.dtgvTenMang.Rows[0];
                        DataGridViewDauSo(dtRow.Cells[0].Value.ToString());
                        Refresh_Mang();
                        this.txtDauSo.Text = "";
                    }
                    else
                    {
                        MessageBox.Show("Xoá chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
        }

        private void btnSuaMang_Click(object sender, EventArgs e)
        {
            m_MangBlo = new clsMangBLO();
            m_MangBlo.MANGDTO.TENMANG = this.txtTenMang.Text;
            m_MangBlo.MANGDTO.MOTA = this.txtMoTa.Text;

            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn sửa !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (m_MangBlo.UpdateMang())
                {
                    MessageBox.Show("1 dòng đã được sửa !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    DataGridViewTenMang();
                    Refresh_Mang();
                }
                else
                {
                    MessageBox.Show("Sửa chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }

        //Phan Danh sach sim
        private void btnThemSim_Click(object sender, EventArgs e)
        {
            if (this.txtSoDienThoai.Text == "" || this.txtGia.Text == "")
            {
                MessageBox.Show("Số điện thoại và giá không để rỗng !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            m_SimBlo.SIMDTO.SODIENTHOAI = this.txtSoDienThoai.Text;
            m_SimBlo.SIMDTO.DAUSO = DauSo(this.txtSoDienThoai.Text);
            m_SimBlo.SIMDTO.GIATRI = this.txtGia.Text;
            m_SimBlo.SIMDTO.NGAYTHEM = Ngay();
            m_SimBlo.SIMDTO.TENDANGNHAP = m_strTenDangNhap;
            string strTenGoi = this.cbxTenGoi.Text;
            if (this.cbxTenGoi.SelectedIndex >= 0)
            {
                strTenGoi = this.cbxTenGoi.SelectedItem.ToString();
            }
            if (strTenGoi == "(None)")
            {
                strTenGoi = "Bình thường";
            }
            m_SimBlo.SIMDTO.MATEN = MaTen(strTenGoi);

            if (m_SimBlo.Insert())
            {
                MessageBox.Show("Thêm thành công !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Thêm chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            DataGridViewSim();
        }

        private void btnXoaSim_Click(object sender, EventArgs e)
        {
            m_SimBlo = new clsSimBLO();
            m_SimBlo.SIMDTO.SODIENTHOAI = this.txtSoDienThoai.Text;

            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn xoá !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (m_SimBlo.Delete())
                {
                    MessageBox.Show("1 dòng đã bị xoá !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    DataGridViewSim();
                    Refrech_Sim();
                }
                else
                {
                    MessageBox.Show("Xoá chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }

        private void btnSuaSim_Click(object sender, EventArgs e)
        {
            m_SimBlo = new clsSimBLO();
            m_SimBlo.SIMDTO.SODIENTHOAI = this.txtSoDienThoai.Text;
            string strTenGoi = this.cbxTenGoi.Text;
            if (this.cbxTenGoi.SelectedIndex >= 0)
            {
                strTenGoi = this.cbxTenGoi.SelectedItem.ToString();
            }
            if (strTenGoi == "(None)")
            {
                strTenGoi = "Bình thường";
            }
            m_SimBlo.SIMDTO.MATEN = MaTen(strTenGoi);
            m_SimBlo.SIMDTO.GIATRI = this.txtGia.Text;

            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn sửa !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (m_SimBlo.Update())
                {
                    MessageBox.Show("1 dòng đã được sửa !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    DataGridViewSim();
                    CbxTenGoi();
                    Refrech_Sim();
                }
                else
                {
                    MessageBox.Show("Sửa chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }

        private void btnTimSim_Click(object sender, EventArgs e)
        {
            m_SimBlo = new clsSimBLO();
            m_SimBlo.SIMDTO.TENMANG = this.cbxTenMang.Text;
            if (this.cbxTenMang.SelectedIndex >= 0)
            {
                m_SimBlo.SIMDTO.TENMANG = this.cbxTenMang.SelectedItem.ToString();
            }
            if (m_SimBlo.SIMDTO.TENMANG == "(None)")
            {
                m_SimBlo.SIMDTO.TENMANG = "";
            }
            if (this.chbxDauSo.Checked == true && this.txtSoDienThoai.Text != "")
            {
                m_SimBlo.SIMDTO.DAUSO = DauSo(this.txtSoDienThoai.Text);
            }
            else
            {
                m_SimBlo.SIMDTO.SODIENTHOAI = this.txtSoDienThoai.Text;
            }
            m_SimBlo.SIMDTO.GIATRI = this.txtGia.Text;
            if (this.cbxTenGoi.SelectedIndex >= 0)
            {
                m_SimBlo.SIMDTO.TENGOI = this.cbxTenGoi.SelectedItem.ToString();
            }
            if (m_SimBlo.SIMDTO.TENGOI == "(None)")
            {
                m_SimBlo.SIMDTO.TENGOI = "";
            } 
            DataGridViewTimSim();

        }
        //Cau hinh ten goi

        private void btnThemTen_Click(object sender, EventArgs e)
        {
            if (this.txtTenGoi.Text == "")
            {
                MessageBox.Show("Tên gọi không để rỗng !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            m_TenGoiBlo = new clsTenGoiBLO();
            m_TenGoiBlo.TENGOIDTO.TENGOI = this.txtTenGoi.Text;
            if (m_TenGoiBlo.Insert())
            {
                MessageBox.Show("Thêm thành công !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                ListBoxTenGoi();
                this.txtTenGoi.Text = "";
            }
            else
            {
                MessageBox.Show("Thêm chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void btnXoaTen_Click(object sender, EventArgs e)
        {
            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn xoá !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (m_TenGoiBlo.Delete())
                {
                    MessageBox.Show("1 dòng đã bị xoá !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ListBoxTenGoi();
                    this.txtTenGoi.Text = "";
                }
                else
                {
                    MessageBox.Show("Xoá chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }

        private void btnSuaTen_Click(object sender, EventArgs e)
        {
            m_TenGoiBlo.TENGOIDTO.TENGOI = this.txtTenGoi.Text;
            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn sửa !", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (m_TenGoiBlo.Update())
                {
                    MessageBox.Show("1 dòng đã được sửa !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ListBoxTenGoi();
                    this.txtTenGoi.Text = "";
                }
                else
                {
                    MessageBox.Show("Sửa chưa được !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }

        ///////

        private void btnThoat_Click(object sender, EventArgs e)
        {
            if (DialogResult.Yes == MessageBox.Show("Có chắc muốn thoát ?", "Lưu ý", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                this.Close();
            }
        }
        #endregion


        #region "cac su kien khac"
        private void txtSoDienThoai_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (iDem >= 4)
            {
                e.Handled = true;
            }
            if (chbxDauSo.Checked)
            {
                iDem++;
            }
            if (e.KeyChar < '0' || e.KeyChar > '9')
            {
                e.Handled = true;
            }
        }

        private void chbxTimKiem_CheckedChanged(object sender, EventArgs e)
        {
            if (chbxTimKiem.Checked)
            {
                this.cbxTenMang.Enabled = true;
                this.btnTimSim.Enabled = true;
                this.chbxDauSo.Enabled = true;
            }
            else
            {
                this.cbxTenMang.Enabled = false ;
                this.btnTimSim.Enabled = false ;
                this.chbxDauSo.Enabled = false;
            }
        }

        private void txtDauSo_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar < '0' || e.KeyChar > '9')
            {
                e.Handled = true;
            }
        }

        private void dtgvDanhSachSim_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            int iRowIndex = -1;
            if (this.dtgvDanhSachSim.SelectedCells.Count > 0)
            {
                iRowIndex = this.dtgvDanhSachSim.SelectedCells[0].RowIndex;
            }

            if (iRowIndex >= 0)
            {
                DataGridViewRow dtRow = this.dtgvDanhSachSim.Rows[iRowIndex];
                if (dtRow.Cells[0].Value != null)
                {
                    this.txtSoDienThoai.Text = dtRow.Cells[0].Value.ToString();
                    this.txtGia.Text = dtRow.Cells[2].Value.ToString();
                    this.cbxTenGoi.Text = dtRow.Cells[5].Value.ToString();
                }
            }
        }

        private void dtgvQuanLy_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            int iRowIndex = -1;
            if (this.dtgvQuanLy.SelectedCells.Count > 0)
            {
                iRowIndex = this.dtgvQuanLy.SelectedCells[0].RowIndex;
            }

            if (iRowIndex >= 0)
            {
                DataGridViewRow dtRow = this.dtgvQuanLy.Rows[iRowIndex];
                if (dtRow.Cells[0].Value != null)
                {
                    this.txtTenDangNhap.Text = dtRow.Cells[0].Value.ToString();
                    this.txtHoTen.Text = dtRow.Cells[1].Value.ToString();
                    if (dtRow.Cells[2].Value.ToString() == "Nam")
                    {
                        this.rbtnNam.Checked = true;
                    }
                    else
                    {
                        this.rbtnNu.Checked = true;
                    }
                }
            }
        }

        private void dtgvTenMang_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            this.txtDauSo.Text = "";
            int iRowIndex = -1;
            if (this.dtgvTenMang.SelectedCells.Count > 0)
            {
                iRowIndex = this.dtgvTenMang.SelectedCells[0].RowIndex;
            }

            if (iRowIndex >= 0)
            {
                DataGridViewRow dtRow = this.dtgvTenMang.Rows[iRowIndex];
                if (dtRow.Cells[0].Value != null)
                {
                    this.txtTenMang.Text = dtRow.Cells[0].Value.ToString();
                    this.txtMoTa.Text = dtRow.Cells[1].Value.ToString();
               
                    DataGridViewDauSo(dtRow.Cells[0].Value.ToString());
                }
            }
        }

        private void dtgvDauSo_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            int iRowIndex = -1;
            if (this.dtgvDauSo.SelectedCells.Count > 0)
            {
                iRowIndex = this.dtgvDauSo.SelectedCells[0].RowIndex;
            }

            if (iRowIndex >= 0)
            {
                DataGridViewRow dtRow = this.dtgvDauSo.Rows[iRowIndex];
                if (dtRow.Cells[0].Value != null)
                {
                    this.txtDauSo.Text = dtRow.Cells[0].Value.ToString();
                    this.txtTenMang.Text = "";
                }
            }
        }

        private void lbxTenGoi_SelectedValueChanged(object sender, EventArgs e)
        {
            m_TenGoiBlo = new clsTenGoiBLO();
            string strTenGoi = lbxTenGoi.SelectedItem.ToString();
            m_TenGoiBlo.TENGOIDTO.MATEN = MaTen(strTenGoi);
            this.txtTenGoi.Text = strTenGoi;
            this.txtTenGoi.Enabled = true;
        }
        #endregion

        private void btnCapNhap_Click(object sender, EventArgs e)
        {
            if (this.cbxTenMang.Items.Count == 0)
            {
                CbxTenMang();
            }
            if (this.cbxTenGoi.Items.Count == 0)
            {
                CbxTenGoi();
            }
            DataGridViewTenMang();
            DataGridViewRow dtRow = this.dtgvTenMang.Rows[0];
            DataGridViewDauSo(dtRow.Cells[0].Value.ToString());
            DataGridViewQuanLy();
            int iSoLuong = DataGridViewSim();
            this.lblSoLuongSim.Text += iSoLuong.ToString();
            ListBoxTenGoi();
        }
    }
}